Stateless computing generally refers to computing devices (or stateless devices) that do not store any unique software configuration or state within them. Any configuration necessary comes from an outside device, which is used for its computational resources. Stateless computing has become increasingly popular over the last few decades. This is partially because personal computers (PCs) have local storage, which can become corrupted, infected with viruses, or hijacked by hackers. Moreover, stateless devices are increasingly being used due to their reduced downtime, ease of maintenance, and better network security.
A virtual machine is typically a stateless emulation of a particular computer system. Although stateless virtual machines can store data, stored data is not persisted when a stateless virtual machine session ends. Virtual machines are created and executed by a hypervisor running on a physical machine (or host machine), which is used for its resources. Each virtual machine running on the host machine is generally referred to as a guest machine, which can have a corresponding operating system (or guest operating system).
Virtual machines can also access directory services (e.g., Microsoft's Active Directory). A directory service is a software system that stores, organizes, and provides access to information in a computer operating system's directory. Active Directory, developed by Microsoft for Windows computers, provides a directory services system and is included as part of Windows Server OS as set processes and services. For example, Active Directory provides customizable services for issuing and managing certificates in software security systems that use a public key infrastructure (PKI). Active Directory can create one or more certificate authorities that can receive requests for certificates (such as digital certificates), verify information in the requests, issue certificates, and revoke certificates.
Stateless virtual machines, however, are unable to store certificates (and associated keys) since they do not have persistent memory. This presents problems, such as network delay when a large number of virtual machines boot and request new certificates and private keys. Further, detecting unauthorized certificate requests becomes more difficult when many virtual machines require new keys every time they are rebooted.